Принцип інверсії залежностей (DIP)

📌 Що таке DIP?

Принцип інверсії залежностей (Dependency Inversion Principle) говорить про те, що:

🛠 Приклад порушення DIP

У цьому прикладі клас OrderService напряму залежить від MySQLOrderRepository, що ускладнює заміну репозиторію.

                
public class MySQLOrderRepository {
    public void saveOrder(String order) {
        System.out.println("Збереження замовлення у MySQL");
    }
}

public class OrderService {
    private MySQLOrderRepository repository = new MySQLOrderRepository();
    
    public void processOrder(String order) {
        repository.saveOrder(order);
    }
}
                
            

✅ Виправлення DIP

Використаємо **інтерфейс**, щоб зробити систему гнучкішою.

                
public interface OrderRepository {
    void saveOrder(String order);
}

public class MySQLOrderRepository implements OrderRepository {
    @Override
    public void saveOrder(String order) {
        System.out.println("Збереження замовлення у MySQL");
    }
}

public class OrderService {
    private final OrderRepository repository;
    
    public OrderService(OrderRepository repository) {
        this.repository = repository;
    }
    
    public void processOrder(String order) {
        repository.saveOrder(order);
    }
}
                
            

Назад Далі